package com.alibaba.algo.cooperation.usercomponent.vo.res.user;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author: niechanggang
 * @date:2021/3/18 17:30
 * @description:
 */
@Data
public class SelectRoleListResponseVO {

    /**
     * 主键
     */
    @ApiModelProperty(value="角色id")
    private Long id;

    /**
     * 角色编码
     */
    @ApiModelProperty(value="角色编码")
    private String roleCode;

    /**
     * 角色名称
     */
    @ApiModelProperty(value="角色名称")
    private String roleName;

    /**
     * 角色类型
     */
    @ApiModelProperty(value="角色类型", notes = "0：公共角色，1：组织角色")
    private Integer roleType;

    /**
     * 角色描述
     */
    @ApiModelProperty(value="角色描述")
    private String roleDesc;

    /**
     * 继承的公共角色id
     */
    @ApiModelProperty(value="继承的公共角色id")
    private Long inheritedPublicRoleId;

    /**
     * 用户个数
     */
    @ApiModelProperty(value="角色下用户个数")
    private Integer userCount;

    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date gmtCreated;

    /**
     * 创建人
     */
    @ApiModelProperty(value="创建操作人")
    private String creatorName;

    /**
     * 更新人
     */
    @ApiModelProperty(value="更新操作人")
    private String modifierName;

    /**
     * 更新时间
     */
    @ApiModelProperty(value="更新时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date gmtModified;

    /**
     * 组织角色适用的组织
     */
    @ApiModelProperty(value="组织角色下对应组织id集合")
    private List<SysOrgInfoVO> orgList;

    /**
     * 组织名称串
     */
    @ApiModelProperty(value="组织角色下对应组织名称集拼接字符串",notes="逗号分隔")
    private String orgNames;

    /**
     * 逻辑删除：Y-已删除；N-未删除；
     */
    @ApiModelProperty(value="逻辑删除标识位",notes="Y-已删除；N-未删除")
    private String isDeleted;
}
